<?php


namespace App\servers;


class AlipayServer
{
    public static function alipay($data)
    {
        require_once public_path().'/pay/alipay/pagepay/service/AlipayTradeService.php';
        require_once public_path().'/pay/alipay/pagepay/buildermodel/AlipayTradePagePayContentBuilder.php';

        //require_once public_path().'pay//service/AlipayTradeService.php';
        //require_once dirname(__FILE__).'/buildermodel/AlipayTradePagePayContentBuilder.php';
        $config = config('code.alipay');
        //商户订单号，商户网站订单系统中唯一订单号，必填
        $out_trade_no = $data['order_sn'];
//        $out_trade_no = 'yl123456';
        //订单名称，必填
//        $subject = '医疗';
        $subject = $data['order_sn'];
        //付款金额，必填
        $total_amount = $data['money'];
//        $total_amount = 1000;
        //商品描述，可空
        $body = '';

        //构造参数
        $payRequestBuilder = new \AlipayTradePagePayContentBuilder();
        $payRequestBuilder->setBody($body);
        $payRequestBuilder->setSubject($subject);
        $payRequestBuilder->setTotalAmount($total_amount);
        $payRequestBuilder->setOutTradeNo($out_trade_no);

        $aop = new \AlipayTradeService($config);

        /**
         * pagePay 电脑网站支付请求
         * @param $builder 业务参数，使用buildmodel中的对象生成。
         * @param $return_url 同步跳转地址，公网可以访问
         * @param $notify_url 异步通知地址，公网可以访问
         * @return $response 支付宝返回的信息
         */
        $response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']);

        return $response;
    }
}
